Multimedia content delivery system and method

ABSTRACT

A system and method for delivering multimedia content to computers over a computer network, such as the Internet, includes a novel media player which may be downloaded onto a user&#39;s personal computer. The media player includes a user interface which allows a listener to search an online database of media selections and build a custom playlist of exactly the music selections desired by the listener. The multimedia content delivery system delivers advertisements which remain visible on a user&#39;s computer display screen at all times when the application is open, for example, while music selections are being delivered to the user. The advertisements are displayed in a window which always remains on a topmost level of windows on the user&#39;s computer display screen, even if the user is executing one or more other programs with the computer.

BACKGROUND OF THE INVENTION

[0001] 1) Field of the Invention

[0002] This invention pertains to the field of multimedia contentdistribution, and more particularly, to a system and method fordelivering multimedia content from a central database or repository toremotely distributed users over a network, such as the Internet.

[0003] 2) Description of the Related Art

[0004] Multimedia applications have become an important driver for thegrowth of both the personal computer market and the Internet, indicatingtheir popularity with users. It is apparent that many people enjoylistening to music or watching video programs via their computers,either in a standalone mode or, often, while performing other functionswith the computer.

[0005] In the office environment, an increasing number of people workwith a personal computer (PC). In that case, while working at theircomputers some workers may play music selections from a compact disc(CD), using the CD-ROM drive and audio processing components present inmost new PCs. Also, someone working at home on their personal computermay listen to music while they work. Moreover, as more home computersare equipped and connected with hi-fidelity speaker systems, people mayuse a home computer as a audio music system, even when they are notusing the computer for any other purposes.

[0006] However, it is sometimes the case that a person wants to hear oneor more particular songs for which they do not presently have a copy ofthe recording. Also, it is often the case that a person wants to hearone or more music selections from a particular recording before making apurchase decision. And sometimes an individual may just want to hear acollection of songs from one particular artist. In other words,listeners desire the freedom and flexibility to choose exactly whatsongs they hear, in the order they choose, and at times of their ownchoosing.

[0007] Of course radio stations play music selections to which anindividual may listen. Some PCs are equipped with radio tuners so thatan individual may listen to broadcast radio stations via his or her PC.Moreover, many broadcast radio stations also transmit their broadcastaudio signal over the Internet. And other specialized “Internet radiostations” have been developed which transmit a radio-like audio signalover the Internet only from a web site to which listeners connect. Thus,individuals may listen to many radio stations via a personal computerwhich is connected to the Internet.

[0008] For example, one advertisement-sponsored Internet web site knownto the inventors, SPINNER.COM, allows a computer user to select from andlisten to multiple Internet radio stations each of which is tailored toa particular musical format. SPINNER.COM uses its own downloadable musicplayer for listeners to connect over the Internet with streaming audioservers associated with the SPINNER.COM radio stations. SPINNER.COMearns revenue to support its music service from Internet “banner ads”which appear in the music player window. Although a user may set theSPINNER.COM music player to remain on a topmost level of windowsdisplayed on the user's computer display screen, the user may also allowthe SPINNER.COM music player to be minimized or covered with other openwindows on a user's computer display screen, so that the advertisementsmay not actually be viewed by the listener. In other words, the displayof advertisements on the user's computer display screen is fully withinthe user's control. So the value of the advertisements to theadvertisers is diminished.

[0009] But with Internet radio stations, as with AM and FM radiostations, the songs which are played are chosen by a program directorand can not be tailored to each individual listener's choices. Neitherbroadcast nor Internet radio stations meet the desire for totalflexibility of music choice by a listener.

[0010] Other Internet music services have been developed which allow alistener more freedom to choose the music selections which he or shewants to hear. Internet music services such as RADIO SONICNET andRADIOMOI.COM allow a listener a limited capability to program his or herown “customized” radio station.

[0011] RADIO SONICNET allows a listener to select and rank musicalartists and musical categories of interest to the listener to create acustomized radio station. RADIO SONICNET then provides the listener witha list of musical artists whose music will be played on the radiostation. Individual song selections, play frequency, and song order areall determined by the RADIO SONICNET music service without any directlistener control. To create a “custom” radio station, a listenerinteracts with musical preference forms supplied to his or hercomputer's existing Internet web browser over an Internet connectionwith the RADIO SONICNET web site. All songs are delivered from the RADIOSONICNET server(s) to the listener's computer over an Internetconnection with the listener's web browser, and are played on thelistener's computer by one or more plug-ins or helper applicationsassociated with the web browser. RADIO SONICNET earns revenue to supportits music service from Internet “banner ads” which are displayed in thelistener's browser window on the user's computer display screen whilemusic selections are streamed to his or her computer. However, theuser's web browser may be minimized or covered with other open windowson the computer display screen, so that the ads may not be viewed by theuser. So, once again, the value of the advertisements to the advertisersis diminished.

[0012] Meanwhile, RADIOMOI.COM allows a listener to search a database ofavailable songs by song title, artist, etc., and to add particular songsto a playlist for a “custom” radio station for that listener. Thedatabase of songs is divided into non-interactive and interactive songs.Once the listener has completed his or her playlist, he or she mustsubmit it to the RADIOMOI music service for approval. The music servicethen checks the playlist against a predetermined set of rules andinforms the listener whether the playlist has been approved or rejected.A playlist of only interactive songs is automatically approved. If theplaylist is approved, then the listener may request that the musicservice begin streaming the songs on the playlist to the listener'scomputer via the Internet. However, the playlist may be rejected by themusic service for one or more reasons, such as having too manyconsecutive songs by a same artist or from a same album or CD recording.In that case, the listener must edit his or her playlist to conform tothe RADIOMOI music service's rules or to contain only interactive songs.

[0013] To create a “custom” radio station with RADIOMOI, a listenerinteracts with song and artist selection forms supplied to his or hercomputer's existing Internet web browser over an Internet connectionwith the RADIOMOI.COM web site. All songs are delivered from theRADIOMOI.COM server(s) to the listener's computer over an Internetconnection with the listener's Internet web browser, and are played onthe listener's computer by one or more plug-ins or helper applicationsassociated with the web browser. RADIOMOI.COM earns revenue to supportits music service from Internet “banner ads” which are displayed in theInternet browser window on the user's computer display screen whilemusic selections are streamed to his or her computer. However, as withRADIO SONICNET, the user's web browser may be minimized or covered withother open windows on a user's computer display screen, so that the adsmay not be viewed by the listener.

[0014] Accordingly, all of these previous multimedia delivery systemsand methods suffer from several disadvantages. For example, none of theprevious systems is well adapted to providing an effective advertisementvehicle to support a free Internet music service. In these previoussystems, the music player or Internet browser through which the music isbeing delivered can be minimized or covered on a user's computer displayscreen by other windows which are open for other active programs. So anyads which are being delivered for display through the music player arenot necessarily visible to the user and may not be viewed by the user.This diminishes the value of the advertisements to sponsors, andtherefore reduces the amount a sponsor will pay to have theadvertisement delivered. In turn, the reduced advertising revenues limitthe available funds for purchasing music licensing rights, distributionbandwidth, hardware, and other resources for supporting a free Internetmusic service.

[0015] Accordingly, it would be advantageous to provide a system andmethod of multimedia content delivery over a computer network whichprovides increased value to advertisers. It would also be advantageousto provide a system and method of multimedia content delivery over acomputer network which provides increased flexibility to users. It wouldstill further be advantageous to provide such a system and method whichcan deliver multimedia content over the Internet. Other and furtherobjects and advantages will appear hereinafter.

SUMMARY OF THE INVENTION

[0016] The present invention comprises a system and method fordelivering multimedia content to computers over a computer network, suchas the Internet.

[0017] In one aspect of the invention, a multimedia content deliverysystem includes a novel media player which may be downloaded onto auser's personal computer. The media player comprises a user interfacewhich allows a user to search an online database of media selections andbuild a custom playlist.

[0018] In another aspect of the invention, a multimedia content deliverysystem delivers advertisements which remain visible on a user's computerdisplay screen at all times while a music player is open on a computeruser's computer display screen. The advertisements are displayed in awindow which always remains on a topmost level of windows on the user'scomputer display screen even if the user is executing one or more otherprograms with the computer.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019]FIG. 1 is a functional block diagram of a preferred embodiment ofan online music delivery system;

[0020]FIG. 2 is a functional block diagram of a music player;

[0021] FIGS. 3A-C show a preferred embodiment of a user interface for amusic player;

[0022] FIGS. 4A-C are a flowchart of a process of opening, closing,sizing and resizing user interface panes in a user interface of a musicplayer;

[0023]FIG. 5 is a player toolbar for a music player;

[0024] FIGS. 6A-B show a flowchart of a process for establishing andmaintaining a user interface at a topmost window on a computer displayscreen.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0025] For ease of explanation, the preferred embodiments describedherein pertain to the delivery of musical content from a central musiclibrary to a plurality of users via the Internet. Nevertheless, it willbe understood that the invention is not limited to the delivery ofmusic, but could be used to deliver video or other streaming multimediacontent. Also, delivery does not have to occur via the Internet butcould also be accomplished over an intranet or a dedicated dial-upnetwork.

[0026] A preferred embodiment of an online music delivery system 100 isshown in FIG. 1. The online music delivery system 100 may be used by anonline music provider to provide an online music service deliveringmusic selections to one or more users. The online music delivery system100 includes an online music library 110 and one or more music players120 operating on one or more personal computers 130 connected to theonline music library 110 via Internet connections 140.

[0027] The online music library 110 preferably consists of a clientinterface server 112, an online music database 114 of available songs ormusic selections, a plurality of song file servers 116 and a pluralityof translation/streaming servers 118.

[0028] The client interface server 112 provides an Internet home pagethrough which a new user may establish a connection with the onlinemusic delivery system 100. For example, a new user may register with theonline music service and download an installation file for installing acopy of the music player 120 onto the user's computer. Also, the clientinterface server 112 may allow a user to access the online musicdatabase 114 of available music selections. In that case, the clientinterface server 112 interfaces with the music player 120 for allowingthe user to browse or search the online music database 114 and toimplement various features of the online music delivery system 100 asdescribed in more detail below.

[0029] The online music database 114 lists all of the songs or musicselections available through the online music delivery system 100.Preferably, the online music database 114 indexes the music selectionsto allow users to access music in a variety of ways. For example, in apreferred embodiment, each music selection is indexed by song title,musical artist, album or compact disc (CD) title, one or morecorresponding musical genres, and/or year the recording was made.

[0030] The song file servers 116 contain all of the song files availablethrough the online music delivery system 100. Preferably, each musicselection is stored in an individual song file in a basic, uncompressedraw format. In that case, all translation, compression, and otherformatting is performed by the translation/streaming servers 118 asdescribed in more detail below.

[0031] The translation/streaming servers 118 provide the interfacepoints for one or more users to access the music selections of the songfile servers 116 through the user's music player 120. Thetranslation/streaming servers receive song files in a raw uncompressedformat from the song file servers 116, then compress the song files, andstream the compressed song files across the Internet connection 140 tothe user's music player 120.

[0032]FIG. 2 shows a preferred embodiment of a music player 120.Preferably, the music player 120 is downloaded from the online musiclibrary 110 across the Internet connection 140 to a user's computer whenthe user registers with the online music system 100. The music player120 has several components, including an Internet interface 210, astreaming music interface 220, a decompressor 230, an audio interface240, and a user interface 250.

[0033] When a user opens or launches the music player 120 which isresident on his or her computer, the Internet interface 210 establishesan Internet connection 140 between the user's computer and the onlinemusic library 110. The Internet interface 210 may establish a connectionwith an online Internet service provider (ISP) through which theInternet interface 210 is connected by a TCP/IP or UDP connection withthe online music library 110. Preferably, the Internet interface 210 mayinclude a dial-up dialog box to allow a user to specify his or herprotocol, including for example an access number, for establishing anInternet connection 140 through an Internet Service Provider (ISP).

[0034] The streaming music interface 220 receives compressed song filesas data packets from the Internet interface 210 and formats the datapackets into a streaming compressed song file.

[0035] The decompressor 230 receives the streaming compressed song filefrom the streaming audio interface and decompresses the file on-the-flyto provide a song file in a general purpose format playable by the audioprocessing components of the personal computer.

[0036] The audio interface 240 interfaces the decompressed song filefrom the decompressor 230 to the audio processing components of thepersonal computer.

[0037] FIGS. 3A-C show a preferred embodiment of a user interface 250for a music player 120. As shown in FIG. 3A, the user interface 250includes a player toolbar 310 and an interactive window 315 comprisingone or more user interface panes 320, one or more toggles or handles 330associated with the user interface panes 320, and a close panes box 335.

[0038] In one embodiment, the user interface 250 may have a “lego-like”structure, such that a user may rearrange the appearance of variouscomponents on the user's computer display screen. For example, the usermay grab and drag various panes appearing in the user interface tovarious areas of the user's computer display screen as desired by theuser.

[0039] The player toolbar 310 comprises one or more tools allowing auser to interact with aspects of the online music delivery system 100,preferably including user controls for controlling the audio playback ofmusic selections delivered through the online music delivery system 100.Other features of the player toolbar 310 will be described in moredetail below with respect to the preferred embodiment shown in FIG. 5.

[0040] The user interface panes 320 within the interactive window 315display various information to the user and allow the user to affect theoperation of the music player 120. In a preferred embodiment, the userinterface panes 320 include a search pane 320 a, a library pane 320 b, aplaylist pane 320 c, a channels pane 320 d, and a features pane 320 e.The user interface panes 320 may be closed by a user by selecting or“clicking” the close panes box 335.

[0041] One or more of the user interface panes 320 may be displayed at agiven time, depending upon the state of the associated handles 330. Auser interface pane 320 may be displayed or hidden by a user selectingor “clicking” on the associated handle 330. Preferably, when theassociated handle 330 is in a first “open” position (i.e., when thelever icon is horizontal) then the corresponding user interface pane 320is displayed to the user. When the handle is in a second “closed”position (i.e., when the lever icon is vertical) then the correspondinguser interface pane 320 is minimized. Further details regarding theoperation of the handles 330 and the display of the user interface panes320 will be described below with respect to FIG. 5.

[0042] In a preferred embodiment, the search pane 320 a includes asearch terms entry box 341, a search parameter selection box 342, asearch button 343, a search results display subpane 344, a play button345, a show selection button 346, an add button 347, and horizontal andvertical scrollbars 348, 349.

[0043] The search pane 320 a provides an interface with the clientinterface server 112 for allowing the user to browse or search theonline music database 114 to locate a particular music selection whichmay be referenced by song title, artist, album or CD title, musicalgenre, etc. When the user wants to locate one or more music selectionsin the online music database 114, he or she enters the search criteriainto the search terms entry box 341 and selects a search categorythrough the search parameter selection box 342. Search criteriagenerally consist of keywords in a song's title, an artist's name, etc.Search parameters may include, for example, the song title, CD title,recording artist, or all of these parameters. The user activates thesearch by pressing, selecting or “clicking” on the search button 343,through depressing a mouse button, for example.

[0044] When the search button 343 is selected, the music player 120communicates a search request across the Internet connection 140 to theonline music library 110. The online music library 110 performs a searchof the online music database 114 and returns search results across theInternet connection 140 to the music player 120. All music selectionswhich satisfy the search criteria are displayed in the search resultsdisplay subpane 344.

[0045] In a preferred embodiment, the search parameter selection box 342includes an Internet search category for searching the Internet for songfiles. When the user selects the Internet search category and activatesthe search button 343, the music player 120 communicates a searchrequest across the Internet connection 140 to the online music library110. In that case, the online music library 110 includes or is linked toan Internet search engine which performs a search of the Internet forsong files matching the search criteria. The online music library 110returns the search results across the Internet connection 140 to themusic player 120. All song files which are found by the search enginewhich the satisfy the search criteria are displayed in the searchresults display subpane 344.

[0046] At that point, the user may highlight a music selection in thesearch results display subpane 344 and select the play button 345. Ifthe user selects the play button 345, then the music player 120 willtransmit a request to the online music library 110 to begin streamingthe corresponding compressed song file immediately across the Internetto the music player 120. Upon receiving the compressed streaming songfile, the music player 120 will decompress the song file and play themusic selection back through the user's computer.

[0047] Advantageously, in this way a listener may select any musicselection available and play it at once, without any reference to anyother music selections which are currently playing or which havepreviously been requested. That is, by searching for and playing musicselections in an online music delivery system 100 according to thepresent invention, a listener is provided the total flexibility toselect any songs from the music database to be played in any order asdesired by the user.

[0048] Alternatively, if the user highlights one or more musicselections in the search results display subpane 344 and selects the addbutton 347, then the highlighted music selection(s) may be added to aplaylist of music selections to be delivered to the user's music player120. At this point, the playlist pane 320 c is opened (if it was closed)and the user selects a playlist to which the highlighted musicselection(s) will be added, as described in more detail below.

[0049] Advantageously, in this way a listener may select any musicselections available via the online music delivery system 100 and addthem to one or more playlists in any order, without any reference to anyother music selections which are already included in the playlist. Thatis, a listener or user is provided the total flexibility to select alist of any songs, or entire compact disc recordings, from the musicdatabase to be played in any order as desired by the listener.

[0050] If the user highlights a music selection in the search resultsdisplay subpane 344 and selects the show selection button 346, then thelibrary pane 320 b opens (if it was closed), displaying the highlightedmusic selection.

[0051] In a preferred embodiment, the library pane 320 b includes afavorites button 351, a database display subpane 354, a play button 355,an information button 356, an add button 357, and horizontal andvertical scrollbars 358, 359. Via the database display subpane 354, thelibrary pane 320 b provides a hierarchical view into the online musicdatabase 114.

[0052] In a preferred embodiment, at a topmost hierarchical level a listof musical genres is provided in the database display subpane 354, forexample, classical music, country music, show tunes, rock music, jazzmusic, etc. A list of subgenres may also be provided at a next topmosthierarchical level, for example, within the rock music genre, there maybe several subgenres, such as oldies rock, classic rock, heavy metal,grunge rock, etc. At successive lower hierarchical levels, musicselections may be classified by recording artist, CD or album title, andsong title. A user may select or “click” on an expansion box to view orhide various hierarchical levels.

[0053] Upon browsing the online musical database 114 and locating one ormore music selections of interest, a user may mark the musicselection(s) for more easy retrieval in the future. In a preferredembodiment, the library pane 320 b includes a favorites button 351indicating the location of particular music selections which have beenpreviously marked by the user.

[0054] In a preferred embodiment, the database display subpane 354 alsoshows a directory structure for one or more mass storage devicesassociated with the user's computer. Thus, the user may view and selectone or more song files stored on the mass storage devices. Preferably,the music player 120 can retrieve and play music selections stored ontoa mass storage device in a variety of compressed audio formats, such asMP3, REAL AUDIO®, LIQUID AUDIO™ etc. Also, the music player 120 mayretrieve and play music selections stored on a compact disc, ordownloaded onto a hard disk drive of a user's computer, in anuncompressed audio format.

[0055] Upon one or more music selections being displayed in the databasedisplay subpane 354, the user may highlight a music selection and selectthe play button 355. If the highlighted music selection is stored on amass storage device of the user's personal computer, then the musicplayer 120 will retrieve and play the music selection. However, if thehighlighted music selection is stored in the online music library 110,then the music player 120 will transmit a request across the Internet140 to the online music library 110 to begin streaming the correspondingcompressed song file immediately across the Internet to the music player120. Upon receiving the compressed streaming song file, the music player120 will decompress the song file and play the music selection backthrough the user's computer.

[0056] Advantageously, a listener may select any music selectionavailable in the online music delivery system 100 and play itimmediately, without any reference to any other music selections whichare currently playing or which have previously been requested. That is,by browsing for and playing music selections in this way, a listener isprovided the total flexibility to select any songs from the online musicdatabase 114 to be played in any order as desired by the listener.

[0057] Alternatively, if the user highlights one or more musicselections in the database display subpane 354 and selects the addbutton 357, then the highlighted music selection(s) may be added to aplaylist of music selections to be delivered to the user's music player120. At this point, the playlist pane 320 c opens and the user selects aplaylist to which the highlighted music selection(s) will be added, asdescribed in more detail below.

[0058] Advantageously, a listener may browse and select any musicselections available and add them to one or more playlists in any order,without any reference to any other music selections which are alreadyincluded in the playlist. That is, a listener is provided the totalflexibility to select a list of any songs from the online music database114 to be played in any order as desired by the listener.

[0059] If the user highlights a music selection in the database displaysubpane 354 and selects the info button 356, then a dialog box appearson the computer display screen providing more information about thehighlighted item. For example, if the highlighted item is a song title,the dialog box may reveal the song length, the year it was recorded,and/or other information of interest.

[0060] In a preferred embodiment, the playlist pane 320 c includes aplaylist display subpane 361, a play button 362, a new button 363, ashare button 364, and open button 365, a delete button 366, up and downbuttons 367, 368, and horizontal and vertical scrollbars 369, 370. Theplaylist pane 320 c displays a list of all playlists which the user hassaved, together with the music selections included in each playlist. Theuser may create, open, edit, delete, share, and play playlists via theplaylist pane 320 c.

[0061] The playlist display subpane 361 includes a shared column 371, aplaylist column 372, and artist column 373, a CD column 374, and alength column 375. The widths of each column in the playlist displaypane 361 can be adjusted by dragging the corresponding column separatorbar 376. The playlist column 371 provides a hierarchical listing of allplaylists which the user has saved. The upper hierarchical levelincludes a name for the playlist, and the lower hierarchical levelincludes a song title for each music selection included in the playlist.The music selections are shown in the order in which they will be playedin the playlist, with the first music selection at the top and the lastmusic selection at the bottom. For each music selection in the playlist,the artist column 373 provides the name of the recording artist, the CDcolumn 374 provides the title of the CD or album which includes themusic selection, and the length column 375 provides the time requiredfor the music selection to play.

[0062] A user may add songs to a playlist through the search pane 320 aor the library pane 320 b as described above. Preferably, the user mayreorder the music selection within a playlist by either highlighting amusic selection in the playlist display subpane 361 and dragging it toits desired location within the playlist, or by using the up and downbuttons 367, 368 to move the highlighted music selection up or down oneplace at a time. Preferably, the user may delete a music selection froma playlist by highlighting it in the playlist display subpane 361 andselecting the delete button 366.

[0063] The user may play a highlighted playlist by selecting the playbutton 361. Alternatively, in an optional embodiment, when the playbutton is selected the user may be given the choice to play thehighlighted playlist immediately, to schedule a time for the playlist tobe played in the future, or to create a queue of playlists to be playedsequentially.

[0064] By creating and playing playlists of music selections in thisway, a listener is provided the total flexibility to select any musicselections from the online music database 114 to be played in any orderas desired by the listener. In particular, a listener may create andplay playlists consisting of an entire CD by one artist, or even severalCDs from a same artist, played consecutively.

[0065] The user may create a new playlist by selecting the new button363. In that case, a dialog box is opened on the computer display screenand the user may enter a name for the new playlist. The user may deletea playlist by highlighting it in the playlist display subpane 361 andselecting the delete button 366.

[0066] The user may also share a playlist by selecting the share button364. A shared playlist is a playlist which is stored at the online musiclibrary 110 and is accessible to all registered users of the onlinemusic system 100. When the user elects to share a playlist by selectingthe share button, a dialog box is opened on the computer display screenfor the user to provide information about the playlist to be shared,such as the user's name or alias, the total playtime, musical theme,etc. When the user closes the dialog box, the music player 120 transmitsthe information together with the playlist across the Internetconnection 140 to the online music library 110. The shared column 371 ofthe playlist display subpane 361 indicates whether or not a playlist isshared.

[0067] A user may open and save a shared playlist by pressing the openbutton 365. When the open button 365 is pressed, the music player 120sends a request across the Internet connection 140 to the online musiclibrary 110 for all playlists which may be downloaded from the onlinemusic library 110. Then, a new window is opened on the computer displayscreen showing the shared playlists available from the online musiclibrary 110. At this point, the user may highlight a shared playlist tosee the music selections included in the playlist. The user can save ashared playlist by selecting the new button 363, or can play a sharedplaylist by selecting the play button 362.

[0068] In a preferred embodiment, the channels pane 320 d includes achannel title subpane 381, a channel selection box 382, a play button383, a channel display subpane 384, two or more channel category tabs385, a horizontal scrollbar (not shown), and a vertical scrollbar 387.Channels are analogous to radio stations, providing a continuous streamof music selections from the online music service system 100. For eachchannel, music selections are played from a very long carousel. Althoughone or more music selections may repeat more frequently, the length ofthe total play cycle may be several days or longer. Moreover, in somecases music selections matching certain target criteria for a channelmay be randomly selected and played in a channel.

[0069] In a preferred embodiment, the online music system 100 includesthree different types of channels, namely, preprogrammed channels,user-defined channels, and shared channels. Preprogrammed channels arechannels which are programmed by the online music provider to fitpopular musical formats such as might exist on conventional broadcastradio. Music selections may be continuously added or removed from eachpreprogrammed channel. Whenever a user “tunes” to a preprogrammedchannel, the user hears the music already in progress, much as if he orshe tuned to a radio station. User-defined channels are created inresponse to a user's particular musical preferences. Preferably, theonline music system 100 automatically creates user-defined channels inresponse to information provided by a user. Shared channels are channelsof music delivered to a user which were created and then shared inresponse to particular musical preferences supplied by one or more otherusers. Channels will be described in more detail below.

[0070] When the preprogrammed channel category tab 385 is selected, thechannel title subpane 381 includes a title (e.g., “Jimmy Flavors Spins”)indicating that the preprogrammed channel category is active. A list ofall preprogrammed channels appears in the channel selection box 382.Information about the channel currently selected in the channelselection box 382 appears in the channel display subpane 384. If a userhighlights a channel then selects the play button 383, then the musicplayer 120 will send a request across the Internet connection 140 to theonline music library 110 to begin immediately streaming the selectedchannel to the user's computer. The selected preprogrammed channel isplayed “in progress” as with a conventional broadcast radio program.

[0071] As shown in FIG. 3B, when the user-defined channel category tab385 is selected, the channel title subpane 381 includes a titleindicating that the user-defined channel category is active (e.g., “MyChannels”). A list of all user-defined channels appears in the channelselection box 382. Information about the user-defined channel currentlyselected in the channel selection box 382 appears in the channel displaysubpane 384. If a user highlights a user-defined channel then selectsthe play button 383, then the music player 120 will send a requestacross the Internet connection 140 to the online music database 114 tobegin immediately streaming the selected user-defined channel to theuser's computer.

[0072] As shown in FIG. 3B, when the user-defined channel category tab385 is selected, the channel title subpane 381 includes four additionalbuttons: a create button 391, an edit button 392, a delete button 393and a share button 394.

[0073] A user may create a new user-defined channel by selecting thecreate button 391. When the user selects the create button 391, a dialogbox is opened on the computer display screen for the user to enter hisor her musical preferences for the channel, together with a channelname. The musical preferences are used to create parameters for theonline music system 100 to automatically program the user-definedchannel.

[0074] A user may edit an existing user-defined channel by selecting theedit button 392. When the user highlights a user-defined channel andselects the edit button 392, a dialog box is opened on the computerdisplay screen showing the user-defined channel name and the musicalpreferences for the user-defined channel. The user may edit thosepreferences to change the musical format of the user-defined channel.

[0075] A user may delete a user-defined channel by selecting the deletebutton 393. When the user highlights a user-defined channel and selectsthe delete button 393, the highlighted channel is deleted from theuser-defined channel list.

[0076] A user may share a user-defined channel by selecting the sharebutton 394. A shared channel is a user-defined channel whose parametersare stored at the online music library 110 and which is accessible toall registered users of the online music system 100. When the userelects to share a channel, a dialog box is opened on the computerdisplay screen for the user to provide information about the channel tobe shared, such as a channel name, the user's name or alias, musicaltheme, etc. When the user closes the dialog box, the music player 120transmits the information together with the channel parameters acrossthe Internet connection 140 to the online music library 110.

[0077] As shown in FIG. 3C, when the shared channel category tab 385 isselected, the channel title subpane 381 includes a title indicating thatthe shared channel category is active. A list of a user's preselectedfavorite shared channels appears in the channel selection box 382.Information about the shared channel currently selected in the channelselection box 382 appears in the channel display subpane 384. If a userhighlights a shared channel then selects the play button 383, then themusic player 120 will send a request to the online music database 114 tobegin immediately streaming the selected shared channel to the user'scomputer. If the shared channel is active, i.e., another user is alreadylistening to the shared channel, then the selected channel begins “inprogress” as with a conventional broadcast radio program. If no otherusers are currently listening to the shared channel, then the selectedchannel begins at the start of its musical rotation.

[0078] Preferably, when a channel is being streamed to a user, the usermay mark a music selection that is currently playing from the channel asa favorite to be accessed through the library pane 320 b. Also, the usermay add a music selection that is currently playing from the channel toa playlist in the playlist pane 320 c.

[0079] As shown in FIG. 3C, when the shared channel category tab 385 isselected, the channel title subpane 381 includes two additional buttons:a browse button 395 and a remove button 396. A user may add a sharedchannel to the favorite shared channels in the channel selection box 382by selecting the browse all button 395. When the user selects the browseall button 395, a dialog box is opened on the computer display screen,listing all of the shared channels available through the online musicsystem 100. The user may highlight one or more shared channels and addthem to the favorite shared channels. Conversely, when the userhighlights a shared channel in the channel selection box 382 and selectsthe remove button 396, the highlighted shared channel is removed fromthe favorite shared channels.

[0080] The features pane 320 e preferably includes buttons which a usermay select to implement a variety of special features of the onlinemusic delivery system 100. For example, the features pane 320 epreferably includes a “chat” button to allow a user to connect to one ormore chat rooms hosted by the online music library 110. The chat roomsmay allow users listening to a same channel to discuss what they arehearing in real time. In that case, each preprogrammed channel may havean associated chat room. Shared channels may also have a chat room if sospecified by the channel's originator.

[0081] The features pane 320 e preferably includes a “skins” button toallow a user to create, or select a precreated, “skin” or customappearance template for the user interface 250 of the music player 120.By changing skins, a user can customize the size, shape, color, or otherappearance features of the panes, handles, and buttons of the userinterface 250.

[0082] The features pane 320 e preferably includes an “instantmessaging” button for a user to send an instant message via the Internetto one or more users currently connected with the online music deliverysystem 100. Preferably, the user may have a predefined list of userswith which he or she may exchange instant messages.

[0083] The features pane 320 e preferably includes a “ratings” button toallow a user to rate a music selection and/or to view the ratings ofother users regarding music selections in the online music database 114.

[0084] The features pane 320 e preferably includes a “pay-per-listen”button to allow a user to order special pay-per-listen events, such asnew recording releases, concerts, etc. When the user selects the“pay-per-listen” button, a dialog box is opened on the computer displayscreen listing upcoming “pay-per-listen” events and allowing the user topurchase one or more of these events.

[0085] As can be seen, numerous user interface panes 320 exist withinthe interactive window 315 and may be opened on the computer displayscreen. If too many user interface panes 320 are opened, then theinteractive window 315 cannot fit onto the user's computer displayscreen. In that case, a horizontal scroll bar 325 appears in theinteractive window 315 below the user interface panes 320 to allow theuser to scroll across the interactive window 315. Moreover, a user maynot only open and close the user interface panes 320 with the handles330, but may also resize each user interface pane 320.

[0086] FIGS. 4A-C show a flowchart of a preferred embodiment of aprocess which may be executed by a pane management computer program foropening, closing, sizing and resizing the display areas of the userinterface panes 320 in the interactive window 315 for display on acomputer display screen.

[0087] In a first step 402, an interactive window 315 is displayed. Atthat time, all but one user interface pane 320 are minimized. Then, in astep 403, the pane management program waits for user interaction.

[0088] Then, in a step 404, a user interacts with a user interface pane320. In a step 406, the pane management program determines if the useris resizing the user interface pane 320. If so, then the pane managementprogram executes a resize pane routine at a step 410. If not, then in astep 408, the pane management program determines if the user is toggling(opening or closing) the user interface pane 320. If so, then the panemanagement program executes a toggle pane routine at a step 450. If not,then the pane management program returns to the step 403.

[0089] The resize pane routine begins at the step 410 as shown in FIG.4B. In a next step 412, the pane management program determines if theinteractive window 315 includes a horizontal scroll bar 325.

[0090] If the interactive window 315 includes a horizontal scroll bar325, then in a step 414, the pane management program determines if theuser is expanding the user interface pane 320. If the user is expandingthe user interface pane 320, then in a step 416 the pane managementprogram allows the user to expand the current user interface pane 320.Then, in a step 418, all of the user interface panes 320 to the right ofthe user interface pane 320 the user is expanding are pushed to theright. Then the pane management program proceeds to a step 428.

[0091] If interactive window 315 includes a horizontal scroll bar 325and if the user is not expanding the user interface pane 320, then in astep 420 the pane management program allows the user to shrink thecurrent user interface pane 320. Then, in a step 422, all of the userinterface panes 320 to the right of the user interface pane 320 the useris expanding are pulled to the left. Then, in a step 424, the panemanagement program determines if the new width of all of the userinterface panes 320 is less than the computer display screen width. Ifnot, then the pane management program proceeds to the step 428. If so,then the pane management program hides the horizontal scroll bar 325 ina step 426 before proceeding to the step 428.

[0092] In the step 428, the pane management program determines if theuser is done resizing the user interface pane 320. If not, then the panemanagement program returns to the step 410. If so, then the panemanagement program exits the resize pane routine and returns to the step403.

[0093] If in the step 412 the pane management program determines thatinteractive window 315 does not include a horizontal scroll bar 325,then in a step 430 the pane management program determines if the user isexpanding the user interface pane 320. If the user is expanding the userinterface pane 320, then in a step 432 the pane management programallows the user to expand the current user interface pane 320. Then, ina step 434, all of the user interface panes 320 to the right of the userinterface pane 320 the user is expanding are pushed to the right. Then,in a step 436, the pane management program determines if the new widthof all of the user interface panes 320 is greater than the computerdisplay screen width. If not, then the pane management program proceedsto the step 444. If so, then the pane management program hides thehorizontal scroll bar 325 in a step 438 before proceeding to the step444.

[0094] If the interactive window 315 does not include a horizontalscroll bar 325 and if the user is not expanding the user interface pane320, then in a step 440 the pane management program allows the user toshrink the current user interface pane 320. Then, in a step 442, all ofthe user interface panes 320 to the right of the user interface pane 320the user is expanding are pulled to the left. Then the pane managementprogram proceeds to a step 444.

[0095] In the step 444, the pane management program determines if theuser is done resizing the user interface pane 320. If not, then the panemanagement program returns to the step 410. If so, then the panemanagement program exits the resize pane routine and returns to the step403.

[0096] The toggle pane routine begins at the step 450. In a next step452, the pane management program determines if the user interface pane320 is maximized.

[0097] If the user interface pane 320 is maximized, then in a step 454the user interface pane 320 title bar changes from horizontal tovertical and the user interface pane 320 is no longer displayed. Then,in a step 456, user interface panes 320 to the right of the current userinterface pane 320 are shifted to the left against the vertical togglebar or handle.

[0098] Next, in a step 458, the pane management program determines ifthe interactive window 315 includes a horizontal scroll bar 325. If not,then the pane management program exits the toggle pane routine andreturns to the step 403. If so, then the pane management programproceeds to a step 460 where it determines if the width of all of theuser interface panes 320 is less than the computer display screen width.If the width of all of the user interface panes 320 is not less than thecomputer display screen width, then the pane management program exitsthe toggle pane routine and returns to the step 403. If the width of allof the user interface panes 320 is less than the computer display screenwidth, then the pane management program proceeds to a step 462 whereinit hides the horizontal scroll bar 325 and then exits the toggle paneroutine and returns to the step 403.

[0099] If in the step 452, the pane management program determines thatthe user interface pane 320 is not maximized, then in a step 464 theuser interface pane 320 title bar changes from vertical to horizontaland the user interface pane 320 is displayed underneath the userinterface pane 320 title bar. Then, in a step 466, user interface panes320 to the right of the current user interface pane 320 are shifted tothe right.

[0100] Next, in a step 468, the pane management program determines ifthe user interface panes 320 include a horizontal scroll bar 325. If so,then the pane management program exits the toggle pane routine andreturns to the step 403. If not, then the pane management programproceeds to a step 470 where it determines if the width of all of theuser interface panes 320 is greater than the computer display screenwidth. If the width of all of the user interface panes 320 is notgreater than the computer display screen width, then the pane managementprogram exits the toggle pane routine and returns to the step 403. Ifthe width of all of the user interface panes 320 is greater than thecomputer display screen width, then the pane management program proceedsto a step 472 wherein it displays the horizontal scroll bar 325 and thenexits the toggle pane routine and returns to the step 403.

[0101]FIG. 5 shows a preferred embodiment of a player toolbar 310 in theinteractive window 315 of the music player 120. The player toolbarcomprises an advertisement component of the user interface 250, as willbe described in more detail below.

[0102] In a preferred embodiment, the player toolbar 310 is anapplication desktop toolbar according to the WINDOWS® operating system.In that case, the player toolbar 310 is automatically set to be atopmost desktop toolbar which remains on a user's computer displayscreen at all times regardless of other applications which may be openon the user's computer desktop. In other words, the player toolbar 310is automatically set to be a topmost desktop toolbar on a z-order(z-axis) stack of desktop toolbars or windows on the display screen.Also, the player toolbar occupies a topmost or bottommost position(y-axis) on the user's computer display screen. All other open windowson the user's computer display screen are then “resized,” or pushed upor down, to fit within in the remaining available display area on theuser's computer display screen.

[0103] Minimally, the player toolbar 310 comprises at least one pane fordisplaying an advertisement or other information to a user, and one ormore player controls. In a preferred embodiment, the player toolbar 310includes an advertisement pane 510, an information pane 520, a playercontrol pane 530, and several user interface buttons 540.

[0104] The advertisement pane 510 includes and displays advertisements.Preferably, the advertisements are delivered across the Internet fromthe online music library 110 to the music player 120. The advertisementsmay be simple “banner ads” or may include picture images, animations,video, audio, or any combination thereof. Preferably, each advertisementhad a display duration (e.g., 15 seconds, 30 seconds, etc.) after whichit is replaced by a next advertisement. An advertisement displayduration may be matched to the duration of a particular music selectionwhich is played by the music player 120.

[0105] The advertisements may be targeted to a user or group of users,depending upon the music selections they choose to hear, and/or somecombination of user demographics. Demographic information may beobtained from users when they subscribe to the online music deliveryservice. In a preferred embodiment, the advertisements may includetie-ins to particular music selections being played by the music player120. These may include concert tickets, albums, T-shirts, or other itemsassociated with a particular artist whose music selection is beingplayed. In that case, a user may “click” on an advertisement to open aweb browser window where he or she may purchase an advertised productover the Internet.

[0106] The information pane 520 preferably includes information about amusic selection currently being delivered to the user's computer via theonline music delivery system 100. The information may include a songtitle, an artist name, a CD or album title, etc.

[0107] The player control pane 530 preferably includes several playercontrols for music selections being played by the music player 120.Preferably, the player controls include a play button, a stop button, aprevious song button, a next song button, a repeat button, a shufflebutton for randomly playing songs, a volume control bar, a balancecontrol bar, an elapsed time/remaining time counter, an elapsed timebar, and an equalizer.

[0108] In a preferred embodiment, the player toolbar 310 includesseveral user interface buttons 540, such as a search button, a librarybutton, a playlist button, a channels button and a features button. If auser selects any of these user interface buttons 540, the correspondinguser interface pane 320 is opened and displayed on the computer displayscreen in the interactive window 315.

[0109] Preferably, the player toolbar 310 includes a purchase button 545to allow a user to purchase a CD or album which includes the musicselection which is being played by the music player 120. Additionally,the user may purchase a downloadable copy of a music selection byselecting the purchase button 545 while the music selection is beingstreamed to the user's computer.

[0110] Also, preferably, the player toolbar 310 includes an Internetsearch button 550 for allowing a user to perform an Internet keywordsearch. In that case, the online music delivery system 100 may includean Internet search engine for searching the Internet for web sitesmatching a user's selected keywords. Alternatively, the Internet searchbutton 550 may provide a link to another Internet web site featuring anInternet search engine. In another alternative embodiment, the searchbutton 550 may search directly into the online music database 114.

[0111] In a preferred embodiment, the music player 120 operates on acomputer with an operating system having a graphical user interface, forexample the MACINTOSH® operating system or the WINDOWS® operatingsystem. As is well known, in such an operating system a number ofcomputer programs or applications may have user interfaces which aresimultaneously displayed in separate windows on the computer displayscreen. When two or more windows are open, they may typically be resizedto various sizes desired by the user. Also, a first window may be placedover a second window, thus covering or hiding some or all of the secondwindow such that its contents are not displayed on the computer displayscreen and are therefore not visible to a computer user.

[0112] Advantageously, the player toolbar 310 and its associatedadvertisement pane 510 automatically remain visible on a user's computerdisplay screen whenever the music player 120 is open and executing onthe computer. There is no user control provided in the user interface250 for a user to minimize or hide the player toolbar 310 on thecomputer display screen.

[0113] In an alternative embodiment, an advertisement component of theuser interface 250 may comprise a “floating window” instead of theplayer toolbar 310. In that case, a floating window remains visible on auser's computer display screen whenever the music player 120 is open.Unlike an application desktop toolbar, the floating window may be movedby a user to any position on the user's computer display screen, notjust the topmost or bottommost position (y-axis) of the user's computerdisplay screen. Also, unlike an application desktop toolbar, thefloating window does not “resize” the screen for all other open windows.The floating window may therefore cover portions of other windows openon the user's computer display screen. Nevertheless, like the playertoolbar, the floating window is automatically set to remain on a topmostz-order (z-axis) stack of windows displayed on the user's computerdisplay screen, and cannot be minimized by a user or moved off of theuser's computer display screen. There is no user control provided in theuser interface 250 for a user to minimize or hide the floating window onthe computer display screen.

[0114] Thus, the advertisement component of the user interface 250insures that the advertisements always appear on the user's computerdisplay screen as long as the music player 120 is open. This ensuresthat advertisements are always visible to a user while using the onlinemusic service. This in turn makes the advertisements more effective andvaluable to advertisers, generating higher advertisement rates. Theincreased advertisement revenues allow the online music service providersufficient revenue to procure rights to transmit music selections frommany artists, to be played in any order desired by a user.

[0115] FIGS. 6A-B show a flowchart of a preferred embodiment of aprocess which may be executed by a player toolbar display program tocreate and automatically maintain a player toolbar 310 on a “topmost”level window (z-axis) of a computer display screen running under theWINDOWS® computer operating system. The process automatically places theplayer toolbar 310 on the “topmost” level window (z-axis) of a computerdisplay screen without any user involvement, and also automaticallyensures that the player toolbar 310 remains on the “topmost” levelwindow (z-axis) of a computer display screen despite efforts by a userto remove it therefrom.

[0116] In a first step 610, the player toolbar display programinitializes data regarding the player toolbar 310. Next, in a step 620,the player toolbar display program registers the player toolbar 310 withthe shell of the computer's operating system program. Then, in a step630, the player toolbar display program retrieves information from theshell regarding other application desktop toolbars for other computerprograms which are open on the computer display screen.

[0117] From this information, in a step 640, the player toolbar displayprogram calculates the coordinates (x/y axes) for the location of theplayer toolbar 310 to be displayed on the computer display screen. Then,in a step 650, the player toolbar display program informs the shell ofthe computer's operating system where the player toolbar 310 will bedisplayed on the computer display screen. Next, in a step 660, theplayer toolbar display program calls a subroutine to place the playertoolbar 310 at the correct position (x/y axes) on the computer displayscreen and to make it the “topmost” window on the stack (z-axis) ofwindows displayed on the user's computer display screen. In other words,the player toolbar 310 is displayed such that it is not covered by anyother window or application desktop toolbar on the computer displayscreen. The player toolbar display program displays the player toolbar310 at either the very top or the very bottom position on the computerdisplay screen. All other open windows on the user's computer displayscreen are resized, or pushed up or down, to fit within the remainingavailable area on the user's computer display screen.

[0118] In a step 670, the player toolbar display program sets the windowstyle for the player toolbar to be at the topmost position (z-axis) onthe “stack” of windows on the computer display screen. Then, to insurethat the player toolbar 310 maintains the topmost position on the stackof windows on the computer display screen, in a step 680 the playertoolbar display program sets a timer to return a message when apredetermined time interval expires. Preferably, the predetermined timeinterval is set to a short enough duration to insure that the playertoolbar 310 always appears to a user to be the topmost window. In a step690, the player toolbar display program sets a handle so that when thetimer expires, the player toolbar display program will recognize thetimer. Finally, in a step 695, when the player toolbar display programreceives the timeout message, the player toolbar display program calls asubroutine to again place the player toolbar 310 at the correct positionon the computer display screen and to make it the “topmost” level windowon the stack of windows displayed on the user's computer display screen.Then, the program returns to step 690 and repeats the loop. In this way,the player toolbar display program ensures that the player toolbar 310remains at the “topmost” window on the stack of windows displayed on theuser's computer display screen so long as the music player 120 is open.

[0119] In one embodiment, the player toolbar display program recognizesattempts by a user to cover the player toolbar 310 or to force theplayer toolbar 310 from being displayed on the “topmost” window on thestack of windows displayed on the user's computer display screen. Inthat case, the player toolbar display program displays a warning messageto a user that the player toolbar must remain on the computer displayscreen at all times in order for the user to continue receiving musicselections from the online music service provider. Optionally, afterrepeated attempts by a user to force the player toolbar 310 from beingdisplayed as the “topmost” window on the stack (z-axis) of windowsdisplayed on the user's computer display screen, the player toolbardisplay program may cause the music player to disconnect from the onlinemusic library, to stop playing music selections, and to close.

[0120] In an alternative embodiment where the user interface substitutesa floating window for the player toolbar, then the steps 670 through 695of the above-described player toolbar display program may be used tocreate and automatically maintain the floating window on a “topmost”level window (zaxis) of a computer display screen running under theWINDOWS® computer operating system. The process automatically places thefloating window on the “topmost” level window (z-axis) of a computerdisplay screen without any user involvement, and also automaticallyensures that the floating window remains on the “topmost” level window(z-axis) of a computer display screen despite any efforts by a user toremove it therefrom.

[0121] The user interface 250 may include other desirable features. Forexample, when a music selection is being delivered from the online musiclibrary 110 to the music player 120 and is being played through theuser's computer, a special display scrolling window or “ticker” may beopened on the computer display screen wherein the song lyrics arescrolled. Also, the user interface 250 may include a control or buttonfor allowing a user to “rip” a CD, that is, to copy music selectionsfrom a CD onto a hard disk drive in the user's computer.

[0122] While preferred embodiments are disclosed herein, many variationsare possible which remain within the concept and scope of the invention.For example, although the preferred embodiment has been described interms of an online music delivery system, the invention in its variousaspects may be applied appropriately to an online video delivery system.Such variations would become clear to one of ordinary skill in the artafter inspection of the specification, drawings and claims herein. Theinvention therefore is not to be restricted except within the spirit andscope of the appended claims.

What is claimed is:
 1. A multimedia content delivery system fordelivering multimedia content across a computer network to a usercomputer having a display screen, audio processing components, and anoperating system supporting graphical user interfaces, the systemcomprising: on online music library, comprising, a song file server forstoring song files, and an online database of the song files; and amusic player resident on the user computer for accessing the onlinedatabase via the computer network and selecting therefrom selected songfiles to be delivered across the computer network to the user computer,wherein said music player includes a user interface displaying anadvertisement on a topmost level of windows on the display screen at alltimes even when other computer programs are being executed by the usercomputer.
 2. The system of claim 1 , wherein the online music libraryfurther comprises a translation/streaming server receiving the selectedsong files from the song file server and communicating the selected songfiles across the computer network to the user computer.
 3. The system ofclaim 2 , wherein the computer network is the Internet, and wherein themusic player further comprises: an Internet interface for establishingan Internet connection between the user computer and thetranslation/streaming server; a streaming music interface receiving theselected song files via the Internet; and an audio interface forproviding the selected song files to the audio processing components ofthe user computer to be played by the audio processing components of theuser computer.
 4. The system of claim 1 , wherein the user interfacefurther comprises: an interactive window comprising a plurality of userinterface panes; and a plurality of handles each associated with acorresponding one of the user interface panes for opening and minimizingthe corresponding user interface panes.
 5. The system of claim 4 ,further comprising a close box for closing all of the user interfacepanes.
 6. The system of claim 4 , wherein the interactive windowcomprises: a search pane for a user to search the online database; alibrary pane for providing a hierarchical view of the song files in thedatabase; a playlist pane for providing a list of song file playlists tothe user; and a channels pane providing a list of preprogrammed channelsavailable through the online music library.
 7. The system of claim 6 ,wherein the user interface further comprises a horizontal scroll barwhich is displayed to a user when a width of open user interface panesexceeds a width of the display screen and which is not displayed to auser when the width of open user interface panes is less than the widthof the display screen.
 8. A method of delivering music to a user via apersonal computer having a display screen and audio processingcomponents, the method comprising: displaying an advertisement on atopmost level of windows on the display screen at all times even whenother computer programs are being executed by the personal computer;providing an online music database of music selections; displayingcontents of the online music database to the listener via the displayscreen; receiving from the user a list of selected music selections inthe online music database; and delivering the selected music selectionsto the personal computer.
 9. The method of claim 8 , further comprisingplaying the selected music selections through the audio processingcomponents.
 10. The method of claim 8 , further comprising delivering tothe personal computer lyrics for the selected music selections.
 11. Themethod of claim 8 , further comprising storing a playlist comprising thelist of selected music selections.
 12. The method of claim 8 , furthercomprising receiving from the user a scheduled playtime for the selectedmusic selections, and wherein the selected music selections aredelivered to the personal computer at the scheduled playtime.
 13. Amusic player for a computer having a display screen, audio processingcomponents, and an operating system supporting graphical userinterfaces, the music player comprising: an Internet interface forestablishing an Internet connection between the computer and an onlinemusic library; a streaming music interface for receiving a song filefrom the online music library via the Internet; an audio interface forproviding the song file to the audio processing components of thecomputer to be played by the audio processing components of thecomputer; and a user interface for user interaction with the musicplayer, said user interface comprising, an advertisement component fordisplaying an advertisement on the display screen, and a display programfor automatically setting said advertisement component to displayed in atopmost level of windows on the display screen at all times even whenother computer programs are being executed by the computer.
 14. Themusic player of claim 13 , wherein the advertisement component comprisesa floating window.
 15. The music player of claim 13 , wherein theadvertisement component comprises a player toolbar.
 16. The music playerof claim 15 , wherein the player toolbar comprises: a player controlpane including player controls for the song file being played by themusic player; and an advertisement pane for displaying theadvertisement.
 17. The music player of claim 13 , wherein the song filereceived by the streaming music interface is a compressed song file, andwherein the music player further comprises a decompressor fordecompressing the compressed song file.
 18. The music player of claim 13, wherein the user interface further comprises: an interactive windowcomprising a plurality of user interface panes; and a plurality ofhandles each associated with a corresponding one of the user interfacepanes for opening and minimizing the corresponding user interface panes.19. The music player of claim 18 , wherein the interactive windowcomprises: a search pane for a user to search an online database of songfiles in the online music library; a library pane for providing ahierarchical view of the song files in the online database; a playlistpane for providing a list of playlists to the user; and a channels paneproviding a list of pre-programmed channels available from the onlinemusic library.
 20. The music player of claim 13 , wherein the userinterface further comprises a scrolling window for displaying lyricscorresponding to a song file being played by the music player.